﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BR_CruzDelSur;
using BR_CruzDelSur.Interfaces;
using System.Web.Services;
using BE_CruzDelSur;
using System.Web.UI.HtmlControls;

namespace WebCruzDelSur
{
    public partial class ActualizarRecojo : System.Web.UI.Page
    {
        IBR_Recojo recojo = new BR_Recojo();
        IBR_Cliente cliente = new BR_Cliente();
        IBR_Util util = new BR_Util();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (HttpContext.Current.Session["Usuario"] == null)
            {
                String message = "Debe autenticarse en el sistema. ";
                String strJavascriptFunctions = "";
                strJavascriptFunctions = "ShowMessageError('" + message + "');";
                ClientScript.RegisterStartupScript(this.GetType(), "Alerta", strJavascriptFunctions, true);
                return;
            }

            if (!Page.IsPostBack)
            {
                string codigorecojo = Request.QueryString["codigoRecojo"].ToString();
                BE_Recojo entidad = recojo.f_obtenerRecojo(codigorecojo);

                ddlDepartamento.DataSource = util.f_ListarUtil("", "UD", false);
                ddlDepartamento.DataValueField = "Codigo";
                ddlDepartamento.DataTextField = "Nombre";
                ddlDepartamento.DataBind();

                ddlDepartamento.SelectedValue = "1";
                ddlDepartamento.Enabled = false;

                txtDocIdeCli.Text = entidad.DNICliente;
                txtReferencias.Text = entidad.Referencia;
                txtHoraRecojo.Text = entidad.FechaRecojo.ToString("HH:mm");
                txtFechaRecojo.Text = entidad.FechaRecojo.ToString("dd/MM/yyyy");
                txtDireccion.Text = entidad.Direccion;
                txtCodigoCarga.Value = entidad.CodigoCarga.ToString();
                txtCodigoRecojo.Value = entidad.CodigoRecojo.ToString();
                lblEstado.Text = entidad.EstadoRecojo;
                txtTelefono.Text = entidad.Telefono;
                txtDescripcionCarga.Text = entidad.DescripcionCarga;

                BE_Cliente co = cliente.f_BuscaClienteDNI(entidad.DNICliente);
                lblApellidoCliente.Text = co.Apellidos;
                lblNombreCliente.Text = co.Nombres;
                lblDireccionCliente.Text = co.Direccion;
                lblTelefonoCliente.Text = co.Telefono;
                lblImageCliente.ImageUrl = "Images/Fotos/" + co.Foto;   
            }
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            int recojoID = util.f_intValor(txtCodigoRecojo.Value);
            string dniDes = txtDocIdeCli.Text;
            string descripcion = txtDescripcionCarga.Text;
            string direccion = txtDireccion.Text;
            string telefono = txtTelefono.Text;
            string referencia = txtReferencias.Text;
            DateTime fechaRecojo = util.f_datetimeValor(txtFechaRecojo.Text +  " " + txtHoraRecojo.Text);
            int ubigeo = util.f_intValor(ddlDepartamento.SelectedValue);

            bool entidad = recojo.f_ActualizarRecojo(recojoID, ubigeo, descripcion, direccion, referencia, telefono, dniDes, fechaRecojo);
            
            String message = "Registro Actualizado Correctamente. ";
            String strJavascriptFunctions = "";

            strJavascriptFunctions = "ShowMessage('" + message + "');";

            ClientScript.RegisterStartupScript(this.GetType(), "Alerta", strJavascriptFunctions, true);
        }

        protected void btnRegresar_Click(object sender, EventArgs e)
        {
            Response.Redirect("BuscarRecojo.aspx");
        }
    }
}